home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / X11 / extensions / XKMformat.h < prev    next >
C/C++ Source or Header  |  2006-04-12  |  7KB  |  302 lines

  1. /* $Xorg: XKMformat.h,v 1.3 2000/08/17 19:46:43 cpqbld Exp $ */
  2. /************************************************************
  3.  Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
  4.  
  5.  Permission to use, copy, modify, and distribute this
  6.  software and its documentation for any purpose and without
  7.  fee is hereby granted, provided that the above copyright
  8.  notice appear in all copies and that both that copyright
  9.  notice and this permission notice appear in supporting
  10.  documentation, and that the name of Silicon Graphics not be 
  11.  used in advertising or publicity pertaining to distribution 
  12.  of the software without specific prior written permission.
  13.  Silicon Graphics makes no representation about the suitability 
  14.  of this software for any purpose. It is provided "as is"
  15.  without any express or implied warranty.
  16.  
  17.  SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 
  18.  SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 
  19.  AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
  20.  GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
  21.  DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
  22.  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 
  23.  OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
  24.  THE USE OR PERFORMANCE OF THIS SOFTWARE.
  25.  
  26.  ********************************************************/
  27. /* $XFree86$ */
  28.  
  29. #ifndef _XKMFORMAT_H_
  30. #define    _XKMFORMAT_H_ 1
  31.  
  32. #include <X11/extensions/XKB.h>
  33. #include <X11/extensions/XKBproto.h>
  34. #include <X11/extensions/XKM.h>
  35.  
  36. typedef    struct _xkmFileInfo {
  37.     CARD8        type;
  38.     CARD8        min_kc;
  39.     CARD8        max_kc;
  40.     CARD8        num_toc;
  41.     CARD16        present B16;
  42.     CARD16        pad B16;
  43. } xkmFileInfo;
  44. #define    sz_xkmFileInfo    8
  45.  
  46. typedef    struct _xkmSectionInfo {
  47.     CARD16        type B16;
  48.     CARD16        format B16;
  49.     CARD16        size B16;
  50.     CARD16        offset B16;
  51. } xkmSectionInfo;
  52. #define    sz_xkmSectionInfo    8
  53.  
  54. typedef struct _xkmKeyTypeDesc {
  55.     CARD8        realMods;
  56.     CARD8        numLevels;
  57.     CARD16        virtualMods B16;
  58.     CARD8        nMapEntries;
  59.     CARD8        nLevelNames;
  60.     CARD8        preserve;
  61.     CARD8        pad;
  62. } xkmKeyTypeDesc;
  63. #define    sz_xkmKeyTypeDesc    8
  64.  
  65. typedef struct _xkmKTMapEntryDesc {
  66.     CARD8        level;
  67.     CARD8        realMods;
  68.     CARD16        virtualMods B16;
  69. } xkmKTMapEntryDesc;
  70. #define    sz_xkmKTMapEntryDesc    4
  71.  
  72. typedef struct _xkmModsDesc {
  73.     CARD8        realMods;
  74.     CARD8        pad;
  75.     CARD16        virtualMods B16;
  76. } xkmModsDesc;
  77. #define    sz_xkmModsDesc    4
  78.  
  79. typedef struct _xkmVModMapDesc {
  80.     CARD8        key;
  81.     CARD8        pad;
  82.     CARD16        vmods B16;
  83. } xkmVModMapDesc;
  84. #define    sz_xkmVModMapDesc    4
  85.  
  86. typedef struct _xkmSymInterpretDesc {
  87.     CARD32        sym B32;
  88.     CARD8        mods;
  89.     CARD8        match;
  90.     CARD8        virtualMod;
  91.     CARD8        flags;
  92.     CARD8        actionType;
  93.     CARD8        actionData[7];
  94. } xkmSymInterpretDesc;
  95. #define    sz_xkmSymInterpretDesc    16
  96.  
  97. typedef struct _xkmBehaviorDesc {
  98.     CARD8        type;
  99.     CARD8        data;
  100.     CARD16        pad B16;
  101. } xkmBehaviorDesc;
  102. #define    sz_xkmBehaviorDesc    4
  103.  
  104. typedef struct _xkmActionDesc {
  105.     CARD8        type;
  106.     CARD8        data[7];
  107. } xkmActionDesc;
  108. #define    sz_xkmActionDesc    8
  109.  
  110. #define    XkmKeyHasTypes        (0x0f)
  111. #define    XkmKeyHasGroup1Type    (1<<0)
  112. #define    XkmKeyHasGroup2Type    (1<<1)
  113. #define    XkmKeyHasGroup3Type    (1<<2)
  114. #define    XkmKeyHasGroup4Type    (1<<3)
  115. #define    XkmKeyHasActions    (1<<4)
  116. #define    XkmKeyHasBehavior    (1<<5)
  117. #define    XkmRepeatingKey        (1<<6)
  118. #define    XkmNonRepeatingKey    (1<<7)
  119.  
  120. typedef struct _xkmKeySymMapDesc {
  121.     CARD8        width;
  122.     CARD8        num_groups;
  123.     CARD8        modifier_map;
  124.     CARD8        flags;
  125. } xkmKeySymMapDesc;
  126. #define sz_xkmKeySymMapDesc    4
  127.  
  128. typedef struct _xkmIndicatorMapDesc {
  129.     CARD8        indicator;
  130.     CARD8        flags;
  131.     CARD8        which_mods;
  132.     CARD8        real_mods;
  133.     CARD16        vmods B16;
  134.     CARD8        which_groups;
  135.     CARD8        groups;
  136.     CARD32        ctrls B32;
  137. } xkmIndicatorMapDesc;
  138. #define sz_xkmIndicatorMapDesc    12
  139.  
  140. typedef struct _xkmGeometryDesc {
  141.     CARD16        width_mm B16;
  142.     CARD16        height_mm B16;
  143.     CARD8        base_color_ndx;
  144.     CARD8        label_color_ndx;
  145.     CARD16        num_properties B16;
  146.     CARD16        num_colors B16;
  147.     CARD16        num_shapes B16;
  148.     CARD16        num_sections B16;
  149.     CARD16        num_doodads B16;
  150.     CARD16        num_key_aliases B16;
  151.     CARD16        pad1 B16;
  152. } xkmGeometryDesc;
  153. #define    sz_xkmGeometryDesc    20
  154.  
  155. typedef struct _xkmPointDesc {
  156.     INT16        x B16;
  157.     INT16        y B16;
  158. } xkmPointDesc;
  159. #define    sz_xkmPointDesc        4
  160.  
  161. typedef    struct _xkmOutlineDesc {
  162.     CARD8        num_points;
  163.     CARD8        corner_radius;
  164.     CARD16        pad B16;
  165. } xkmOutlineDesc;
  166. #define    sz_xkmOutlineDesc    4
  167.  
  168. typedef struct _xkmShapeDesc {
  169.     CARD8        num_outlines;
  170.     CARD8        primary_ndx;
  171.     CARD8        approx_ndx;
  172.     CARD8        pad;
  173. } xkmShapeDesc;    
  174. #define    sz_xkmShapeDesc    4
  175.  
  176. typedef struct _xkmSectionDesc {
  177.     INT16        top B16;
  178.     INT16        left B16;
  179.     CARD16        width B16;
  180.     CARD16        height B16;
  181.     INT16        angle B16;
  182.     CARD8        priority;
  183.     CARD8        num_rows;
  184.     CARD8        num_doodads;
  185.     CARD8        num_overlays;
  186.     CARD16        pad2 B16;
  187. } xkmSectionDesc;
  188. #define    sz_xkmSectionDesc    16
  189.  
  190. typedef struct _xkmRowDesc {
  191.     INT16        top B16;
  192.     INT16        left B16;
  193.     CARD8        num_keys;
  194.     BOOL        vertical;
  195.     CARD16        pad B16;
  196. } xkmRowDesc;
  197. #define    sz_xkmRowDesc        8
  198.  
  199. typedef struct _xkmKeyDesc {
  200.     CARD8        name[XkbKeyNameLength];
  201.     INT16        gap B16;
  202.     CARD8        shape_ndx;
  203.     CARD8        color_ndx;
  204. } xkmKeyDesc;
  205. #define    sz_xkmKeyDesc        8
  206.  
  207. typedef struct _xkmOverlayDesc {
  208.     CARD8        num_rows;
  209.     CARD8        pad1;
  210.     CARD16        pad2 B16;
  211. } xkmOverlayDesc;
  212. #define    sz_xkmOverlayDesc    4
  213.  
  214. typedef struct _xkmOverlayRowDesc {
  215.     CARD8        row_under;
  216.     CARD8        num_keys;
  217.     CARD16        pad B16;
  218. } xkmOverlayRowDesc;
  219. #define    sz_xkmOverlayRowDesc    4
  220.  
  221. typedef struct _xkmOverlayKeyDesc {
  222.     char        over[XkbKeyNameLength];
  223.     char        under[XkbKeyNameLength];
  224. } xkmOverlayKeyDesc;
  225. #define sz_xkmOverlayKeyDesc    8
  226.  
  227. typedef struct _xkmShapeDoodadDesc {
  228.     CARD8        type;
  229.     CARD8        priority;
  230.     INT16        top B16;
  231.     INT16        left B16;
  232.     INT16        angle B16;
  233.     CARD8        color_ndx;
  234.     CARD8        shape_ndx;
  235.     CARD16        pad B16;
  236.     CARD32        pad1 B32;
  237. } xkmShapeDoodadDesc;
  238. #define    sz_xkmShapeDoodadDesc    16
  239.  
  240. typedef struct _xkmTextDoodadDesc {
  241.     CARD8         type;
  242.     CARD8         priority;
  243.     INT16         top B16;
  244.     INT16         left B16;
  245.     INT16         angle B16;
  246.     CARD16        width B16;
  247.     CARD16        height B16;
  248.     CARD8         color_ndx;
  249.     CARD8        pad1;
  250.     CARD16        pad2 B16;
  251. } xkmTextDoodadDesc;
  252. #define    sz_xkmTextDoodadDesc    16
  253.  
  254. typedef struct _xkmIndicatorDoodadDesc {
  255.     CARD8        type;
  256.     CARD8        priority;
  257.     INT16        top B16;
  258.     INT16        left B16;
  259.     CARD8        shape_ndx;
  260.     CARD8        on_color_ndx;
  261.     CARD8        off_color_ndx;
  262.     CARD8        pad1;
  263.     CARD16        pad2 B16;
  264.     CARD32        pad3 B32;
  265. } xkmIndicatorDoodadDesc;
  266. #define    sz_xkmIndicatorDoodadDesc    16
  267.  
  268. typedef struct _xkmLogoDoodadDesc {
  269.     CARD8        type;
  270.     CARD8        priority;
  271.     INT16        top B16;
  272.     INT16        left B16;
  273.     INT16        angle B16;
  274.     CARD8        color_ndx;
  275.     CARD8        shape_ndx;
  276.     CARD16        pad B16;
  277.     CARD32        pad1 B32;
  278. } xkmLogoDoodadDesc;
  279. #define    sz_xkmLogoDoodadDesc    16
  280.  
  281. typedef struct _xkmAnyDoodadDesc {
  282.     CARD8        type;
  283.     CARD8        priority;
  284.     INT16        top B16;
  285.     INT16        left B16;
  286.     CARD16        pad1 B16;
  287.     CARD32        pad2 B32;
  288.     CARD32        pad3 B32;
  289. } xkmAnyDoodadDesc;
  290. #define    sz_xkmAnyDoodadDesc        16
  291.  
  292. typedef union _xkmDoodadDesc {
  293.     xkmAnyDoodadDesc    any;
  294.     xkmShapeDoodadDesc    shape;
  295.     xkmTextDoodadDesc    text;
  296.     xkmIndicatorDoodadDesc    indicator;
  297.     xkmLogoDoodadDesc    logo;
  298. } xkmDoodadDesc;
  299. #define    sz_xkmDoodadDesc        16
  300.  
  301. #endif /* _XKMFORMAT_H_ */
  302.